Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.10.2019, 20:19
Новичок на форуме
Отправить личное сообщение для olkv Посмотреть профиль Найти все сообщения от olkv
 
Регистрация: 03.10.2019
Сообщений: 2

XMLHttpRequest не выдает ответ, хотя отладчик показывает что ответ есть
Скорее всего заблудился в двух соснах, но что-то не получается.
Есть простая функция

function getTest() {

var request_token = new XMLHttpRequest();
var url="./api/account/token"; //полный адрес убрал
request_token.open("POST",url,true);
request_token.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

request_token.send("username=api&password=123");

request_token.onreadystatechange = function () {
//для простоты отключил контроль на статус
var response = request_token.responseText;
alert(request_token.responseText);
}
}

по сути она должна показывать окно (или 2 окна одно пустое) с ответом от сервиса.

В итоге request_token.responseText возвращает пустую строку.
запускал в FireFox. Отладчик в разделе "Сеть" показывает, что ответ был.
Во вложении есть файл с ответом.
А в разделе "Отладчик", на строке "request_token.responseText;" показывает пустое значение ("").
Что делаю нет так, подскажите плиз ?
Изображения:
Тип файла: png Выделение_004.png (28.8 Кб, 7 просмотров)
Ответить с цитированием
  #2 (permalink)  
Старый 03.10.2019, 20:45
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,598

Хз, должно работать.
1. Попробуй onreadystatechange до send поставить.
2. Включи в консоли предупреждения и посмотри не пишет ли чего.
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 03.10.2019, 21:13
Новичок на форуме
Отправить личное сообщение для olkv Посмотреть профиль Найти все сообщения от olkv
 
Регистрация: 03.10.2019
Сообщений: 2

Поставить onreadystatechange до send поставить.
Поставил onreadystatechange до send.
Результат тот-же.
Во вложении есть полная версия страницы со скриптом.
Какая-то жесть.

У меня получилось только через PHP посредника, но как то не хочется так делать.
Что я имею ввиду, когда говорю через PHP посредника.
Есть сторонний сервис, которому нужно передать POST запрос с параметрами username и password. Напрямую через JavaScript у меня что-то не получается, попробовал создать PHP файл, который отправляет запрос на сторонний сервис, а он возвращает уже результат, тогда вроде все работает.
Работающий алгоритм такой :
1. JavaScript отправляет POST запрос файлу PHP.
2. В данном файле все просто, принимаем параметры и средствами PHP передаем их методом пост стороннему сервису, результат возвращаем с помощью "echo".
3. JavaScript получает результат и обрабатывает.
Хотелось бы обойтись без промежуточного файла.
Вложения:
Тип файла: txt example.txt (1.1 Кб, 4 просмотров)
Ответить с цитированием
  #4 (permalink)  
Старый 03.10.2019, 21:30
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,598

Вы не можете получить ответ от стороннего сервера внутри javascript ни в каком виде, если тот этого не разрешил со своей стороны поставив кроссдоменный хэдер. Никак. Безопасность.
Так что только с использованием серверной прокладки.
__________________
29375, 35
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Мой собственный башорг в скайпе))) devote Оффтопик 81 03.10.2012 00:56
Психологическая деформация программистов DreamTheater Оффтопик 59 24.03.2012 05:03
http://gigalit.info - Мои контакты Маэстро Ваши сайты и скрипты 70 08.12.2011 03:12
фрактальный сыр x-yuri Оффтопик 76 23.11.2011 21:59
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37